---
title: 设计原则
---

 经典的设计原则有 SOLID、KISS、YAGNI、DAY、LOD等。



SOLID 原则并非单纯的 1个原则，而是由 5个设计原则组成的，它们分别是： 单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖反转原则，依次对应 SOLID 中的 S、O、L、I、D 这5 个因为字母。

## 单一职责原则
### 如何理解单一职责原则（SRP）？
一个类只负责完成一个职责或者功能。不要设计大而全的类，要设计粒度小、功能单一的类。单一职责原则是为了实现代码的高内聚、低耦合，提高代码的复用性、可读性、可维护性。

### 如何判断类的职责是否单一？

出现下面这些情况就有可能说明类的设计不满足单一职责原则：
1. 类中的代码行数、函数或者属性过多；
2. 类依赖的其它类过多，或者依赖类的其它类过多；
3. 私有方法过多；
4. 比较难给类起一个名字；
5. 类中大量的方法都是集中操作类中的某几个属性；
### 类的职责是否设计的越单一越好？
单一职责原则避免设计大而全的类，避免将不相关的功能耦合在一起，来提高类的内聚性。同时，类职责单一、类依赖的和被依赖的其它类会变少，减少了代码的耦合性，以此来实现代码的高内聚、低耦合。但是，如果拆分的过细，实际上会适得其反，反而会降低内聚性，也会影响代码的可维护性。


import DocCardList from '@theme/DocCardList';


<DocCardList />
